/*
 * Copyright (c) 2025 HiSilicon (Shanghai) Technologies Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef DISPLAY_ADPT_HDMI_H
#define DISPLAY_ADPT_HDMI_H

#ifndef ENABLE_H9
#if defined(ENABLE_H8)
#include "ot_common_hdmi.h"
#include "ss_mpi_hdmi.h"
#else
#include "hi_comm_hdmi.h"
#include "mpi_hdmi.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif

#ifdef ENABLE_H8

typedef ot_hdmi_attr HI_HDMI_ATTR_S;
typedef ot_hdmi_sink_capability HI_HDMI_SINK_CAPABILITY_S;

#define HI_HDMI_VIDEO_FMT_1080P_60                  OT_HDMI_VIDEO_FORMAT_1080P_60
#define HI_HDMI_VIDEO_FMT_1080P_50                  OT_HDMI_VIDEO_FORMAT_1080P_50
#define HI_HDMI_VIDEO_FMT_1080P_30                  OT_HDMI_VIDEO_FORMAT_1080P_30
#define HI_HDMI_VIDEO_FMT_1080P_25                  OT_HDMI_VIDEO_FORMAT_1080P_25
#define HI_HDMI_VIDEO_FMT_1080P_24                  OT_HDMI_VIDEO_FORMAT_1080P_24
#define HI_HDMI_VIDEO_FMT_1080I_60                  OT_HDMI_VIDEO_FORMAT_1080i_60
#define HI_HDMI_VIDEO_FMT_1080I_50                  OT_HDMI_VIDEO_FORMAT_1080i_50
#define HI_HDMI_VIDEO_FMT_720P_60                   OT_HDMI_VIDEO_FORMAT_720P_60
#define HI_HDMI_VIDEO_FMT_720P_50                   OT_HDMI_VIDEO_FORMAT_720P_50
#define HI_HDMI_VIDEO_FMT_576P_50                   OT_HDMI_VIDEO_FORMAT_576P_50
#define HI_HDMI_VIDEO_FMT_480P_60                   OT_HDMI_VIDEO_FORMAT_480P_60
#define HI_HDMI_VIDEO_FMT_PAL                       OT_HDMI_VIDEO_FORMAT_PAL
#define HI_HDMI_VIDEO_FMT_NTSC                      OT_HDMI_VIDEO_FORMAT_NTSC
#define HI_HDMI_VIDEO_FMT_861D_640X480_60           OT_HDMI_VIDEO_FORMAT_861D_640X480_60
#define HI_HDMI_VIDEO_FMT_VESA_800X600_60           OT_HDMI_VIDEO_FORMAT_VESA_800X600_60
#define HI_HDMI_VIDEO_FMT_VESA_1024X768_60          OT_HDMI_VIDEO_FORMAT_VESA_1024X768_60
#define HI_HDMI_VIDEO_FMT_VESA_1280X800_60          OT_HDMI_VIDEO_FORMAT_VESA_1280X800_60
#define HI_HDMI_VIDEO_FMT_VESA_1280X1024_60         OT_HDMI_VIDEO_FORMAT_VESA_1280X1024_60
#define HI_HDMI_VIDEO_FMT_VESA_1366X768_60          OT_HDMI_VIDEO_FORMAT_VESA_1366X768_60
#define HI_HDMI_VIDEO_FMT_VESA_1440X900_60          OT_HDMI_VIDEO_FORMAT_VESA_1440X900_60
#define HI_HDMI_VIDEO_FMT_VESA_1440X900_60_RB       OT_HDMI_VIDEO_FORMAT_VESA_1400X1050_60
#define HI_HDMI_VIDEO_FMT_VESA_1600X1200_60         OT_HDMI_VIDEO_FORMAT_VESA_1600X1200_60
#define HI_HDMI_VIDEO_FMT_VESA_1680X1050_60         OT_HDMI_VIDEO_FORMAT_VESA_1680X1050_60
#define HI_HDMI_VIDEO_FMT_VESA_1920X1200_60         OT_HDMI_VIDEO_FORMAT_VESA_1920X1200_60
#define HI_HDMI_VIDEO_FMT_2560X1440_30              OT_HDMI_VIDEO_FORMAT_2560x1440_30
#define HI_HDMI_VIDEO_FMT_2560X1440_60              OT_HDMI_VIDEO_FORMAT_2560x1440_60
#define HI_HDMI_VIDEO_FMT_2560X1600_60              OT_HDMI_VIDEO_FORMAT_2560x1600_60
#define HI_HDMI_VIDEO_FMT_1920X2160_30              OT_HDMI_VIDEO_FORMAT_1920x2160_30
#define HI_HDMI_VIDEO_FMT_3840X2160P_24             OT_HDMI_VIDEO_FORMAT_3840X2160P_24
#define HI_HDMI_VIDEO_FMT_3840X2160P_25             OT_HDMI_VIDEO_FORMAT_3840X2160P_25
#define HI_HDMI_VIDEO_FMT_3840X2160P_30             OT_HDMI_VIDEO_FORMAT_3840X2160P_30
#define HI_HDMI_VIDEO_FMT_3840X2160P_50             OT_HDMI_VIDEO_FORMAT_3840X2160P_50
#define HI_HDMI_VIDEO_FMT_3840X2160P_60             OT_HDMI_VIDEO_FORMAT_3840X2160P_60
#define HI_HDMI_VIDEO_FMT_4096X2160P_24             OT_HDMI_VIDEO_FORMAT_4096X2160P_24
#define HI_HDMI_VIDEO_FMT_4096X2160P_25             OT_HDMI_VIDEO_FORMAT_4096X2160P_25
#define HI_HDMI_VIDEO_FMT_4096X2160P_30             OT_HDMI_VIDEO_FORMAT_4096X2160P_30
#define HI_HDMI_VIDEO_FMT_4096X2160P_50             OT_HDMI_VIDEO_FORMAT_4096X2160P_50
#define HI_HDMI_VIDEO_FMT_4096X2160P_60             OT_HDMI_VIDEO_FORMAT_4096X2160P_60
#define HI_HDMI_VIDEO_FMT_3840X2160P_120            OT_HDMI_VIDEO_FORMAT_3840X2160P_120
#define HI_HDMI_VIDEO_FMT_4096X2160P_120            OT_HDMI_VIDEO_FORMAT_4096X2160P_120
#define HI_HDMI_VIDEO_FMT_7680X4320P_30             OT_HDMI_VIDEO_FORMAT_7680X4320P_30
#define HI_HDMI_VIDEO_FMT_VESA_CUSTOMER_DEFINE      OT_HDMI_VIDEO_FORMAT_VESA_CUSTOMER_DEFINE
#define HI_HDMI_VIDEO_FMT_BUT                       OT_HDMI_VIDEO_FORMAT_BUTT
#define HI_HDMI_DEEP_COLOR_24BIT                    OT_HDMI_DEEP_COLOR_24BIT
#define HI_HDMI_BIT_DEPTH_16                        OT_HDMI_BIT_DEPTH_16
#define HI_HDMI_ID_0                                OT_HDMI_ID_0
typedef ot_hdmi_video_format HI_HDMI_VIDEO_FMT_E;

typedef ot_hdmi_id HI_HDMI_ID_E;
#endif

#endif  // NO DEFINED ENABLE_H9
#ifdef __cplusplus
}
#endif
#endif // DISPLAY_ADPT_HDMI_H
